package com.zondy.mapgis.domain.psmap;

import com.zondy.mapgis.common.core.annotation.Excel;
import com.zondy.mapgis.common.core.web.domain.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;

@Schema(
   name = "微件对象"
)
public class AppWidget extends BaseEntity {
   private static final long serialVersionUID = 1L;
   @Schema(
      description = "微件ID"
   )
   @Excel(
      name = "微件ID"
   )
   private Long widgetId;
   @Schema(
      description = "微件名称"
   )
   @Excel(
      name = "微件名称"
   )
   private String widgetName;
   @Schema(
      description = "微件清单JSON"
   )
   private String manifest;
   @Schema(
      description = "微件配置JSON"
   )
   private String config;

   public Long getWidgetId() {
      return this.widgetId;
   }

   public String getWidgetName() {
      return this.widgetName;
   }

   public String getManifest() {
      return this.manifest;
   }

   public String getConfig() {
      return this.config;
   }

   public AppWidget setWidgetId(Long widgetId) {
      this.widgetId = widgetId;
      return this;
   }

   public AppWidget setWidgetName(String widgetName) {
      this.widgetName = widgetName;
      return this;
   }

   public AppWidget setManifest(String manifest) {
      this.manifest = manifest;
      return this;
   }

   public AppWidget setConfig(String config) {
      this.config = config;
      return this;
   }

   public String toString() {
      return "AppWidget(widgetId=" + this.getWidgetId() + ", widgetName=" + this.getWidgetName() + ", manifest=" + this.getManifest() + ", config=" + this.getConfig() + ")";
   }

   public boolean equals(Object o) {
      if (o == this) {
         return true;
      } else if (!(o instanceof AppWidget)) {
         return false;
      } else {
         AppWidget other = (AppWidget)o;
         if (!other.canEqual(this)) {
            return false;
         } else if (!super.equals(o)) {
            return false;
         } else {
            label61: {
               Object this$widgetId = this.getWidgetId();
               Object other$widgetId = other.getWidgetId();
               if (this$widgetId == null) {
                  if (other$widgetId == null) {
                     break label61;
                  }
               } else if (this$widgetId.equals(other$widgetId)) {
                  break label61;
               }

               return false;
            }

            label54: {
               Object this$widgetName = this.getWidgetName();
               Object other$widgetName = other.getWidgetName();
               if (this$widgetName == null) {
                  if (other$widgetName == null) {
                     break label54;
                  }
               } else if (this$widgetName.equals(other$widgetName)) {
                  break label54;
               }

               return false;
            }

            Object this$manifest = this.getManifest();
            Object other$manifest = other.getManifest();
            if (this$manifest == null) {
               if (other$manifest != null) {
                  return false;
               }
            } else if (!this$manifest.equals(other$manifest)) {
               return false;
            }

            Object this$config = this.getConfig();
            Object other$config = other.getConfig();
            if (this$config == null) {
               if (other$config != null) {
                  return false;
               }
            } else if (!this$config.equals(other$config)) {
               return false;
            }

            return true;
         }
      }
   }

   protected boolean canEqual(Object other) {
      return other instanceof AppWidget;
   }

   public int hashCode() {
      boolean PRIME = true;
      int result = super.hashCode();
      Object $widgetId = this.getWidgetId();
      result = result * 59 + ($widgetId == null ? 43 : $widgetId.hashCode());
      Object $widgetName = this.getWidgetName();
      result = result * 59 + ($widgetName == null ? 43 : $widgetName.hashCode());
      Object $manifest = this.getManifest();
      result = result * 59 + ($manifest == null ? 43 : $manifest.hashCode());
      Object $config = this.getConfig();
      result = result * 59 + ($config == null ? 43 : $config.hashCode());
      return result;
   }
}
